//
//  UserInfo.swift
//  Center
//
//  Created by Flutter on 2021/8/3.
//

import Foundation
//import RealmSwift
//import Standard
//import Center_Storage



//
//public class User: Object {
//    @Persisted(primaryKey: true) public var _id: ObjectId
//    @Persisted public var name: String = ""
//    @Persisted public var gender: Gender?
//    @Persisted public var dateOfBirth: Date?
//    @Persisted public var createdAt: Date = Date()
//    @Persisted public var updatedAt: Date?
//    @Persisted public var eyeTestHistory: List<EyeTestInfo>
//}
//
//
//extension User: TypeName {}
//
//private extension User {
//    static let logger = Loggers[typeName]
//    static let store = StorageCenter.coke[typeName]
//    static let realm =  try! Realm()
//}
//
//private extension User {
//    static var currentUID: String? = {
//        do {
//            guard let storage: UIDStorage = try store.sync.get() else { return nil }
//            return storage.value
//        } catch {
//            logger.error("\(error)")
//            return nil
//        }
//    }() {
//        didSet {
//            do {
//                switch currentUID {
//                case .none:
//                    try store.sync.delete(key: UIDStorage.key)
//                case .some(let currentUID):
//                    try store.sync.put(storableObject: UIDStorage(value: currentUID))
//                }
//            } catch {
//                logger.error("\(error)")
//            }
//        }
//    }
//}
//
//public extension User {
//
//    static var current: User? = {
//        guard let uid = currentUID else { return nil }
//        return realm.object(ofType: User.self, forPrimaryKey: try! ObjectId(string: uid))
//    }() {
//        didSet {
//            switch current {
//            case .none:
//                currentUID = nil
//            case .some(let current):
//                currentUID = current._id.stringValue
//            }
//        }
//    }
//
//
//    /// 获取所有 user
//    static func getAllUsers() -> [User]?{
//        let users = realm.objects(User.self).toArray(type: User.self)
//        return users
//    }
//
//    func insert() {
//        self.createdAt = Date()
//        let realm = Self.realm
//        try! realm.write {
//            realm.create(User.self, value: self,update: .modified)
//        }
//    }
//
//    ///  如果有这个 user 就是 update ，如果没有就是 insert
//    func update() {
//        self.updatedAt = Date()
//        let realm = Self.realm
//        try! realm.write {
//            realm.add(self, update: .modified)
//        }
//    }
//
//    /// 删除 user
//    func delete(){
//        let realm = Self.realm
//        try! realm.write {
//            // Delete the instance from the realm.
//            realm.delete(self)
//        }
//    }
//
//}
